Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-254556 | CNTR-R2-000100 | SV-254556r879530_rule | Medium |
Description |
---|
Limiting the number of attack vectors and implementing authentication and encryption on the endpoints available to external sources is paramount when securing the overall Kubernetes cluster. The Controller Manager API service exposes port 10252/TCP by default for health and metrics information use. This port does not encrypt or authenticate connections. If this port is exposed externally, an attacker can use this port to attack the entire Kubernetes cluster. By setting the bind address to only localhost (i.e., 127.0.0.1), only those internal services that require health and metrics information can access the Control Manager API. |
STIG | Date |
---|---|
Rancher Government Solutions RKE2 Security Technical Implementation Guide | 2023-02-27 |
Check Text ( C-58040r859236_chk ) |
---|
Ensure bind-address is set correctly. Run this command on the RKE2 Control Plane: /bin/ps -ef | grep kube-controller-manager | grep -v grep If --bind-address is not set to "127.0.0.1" or is not configured, this is a finding. |
Fix Text (F-57989r859237_fix) |
---|
Edit the Controller Manager pod specification file /var/lib/rancher/rke2/agent/pod-manifests/kube-controller-manager.yaml on the RKE2 Control Plane to set the below parameter: --bind-address argument=127.0.0.1 Once configuration file is updated, restart the RKE2 Server. Run the command: systemctl restart rke2-server |